package com.may;

import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.TaskService;
import org.activiti.engine.task.Task;

import java.util.List;

/**
 * 查询当前用户的任务列表
 */
public class ActivitiTaskQuery {
    public static void main(String[] args) {
        ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
        TaskService taskService = engine.getTaskService();
        List<Task> taskList = taskService.createTaskQuery()
                .processDefinitionKey("mybpm") //查询指定的流程定义
                .taskAssignee("am") //查询执行的受理人
                .list();//查询任务列表，如果确定只会有一个任务，可以用 singleResult()，得到一个task

        //任务列表展示
        taskList.forEach(task -> {
            System.out.println("流程实例id：\t" + task.getProcessInstanceId()); //act_hi_procinst
            System.out.println("任务id：\t" + task.getId()); //act_hi_taskinst
            //taskService.complete(task.getId());//查询、处理，一步走
            System.out.println("任务负责人id：\t" + task.getAssignee()); //act_hi_taskinst
            System.out.println("任务名称：\t" + task.getName()); //act_hi_taskinst
        });
    }
}
